home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.cs.arizona.edu
/
ftp.cs.arizona.edu.tar
/
ftp.cs.arizona.edu
/
icon
/
newsgrp
/
group02b.txt
/
000002_icon-group-sender_Thu Aug 15 08:53:15 2002.msg
< prev
next >
Wrap
Internet Message Format
|
2003-01-02
|
3KB
Return-Path: <icon-group-sender>
Received: (from root@localhost)
by baskerville.CS.Arizona.EDU (8.11.1/8.11.1) id g7FFrBA27056
for icon-group-addresses; Thu, 15 Aug 2002 08:53:11 -0700 (MST)
Message-Id: <200208151553.g7FFrBA27056@baskerville.CS.Arizona.EDU>
From: Hrvoje Blazevic <hrvoje@despammed.com>
X-Newsgroups: comp.lang.icon
Subject: Re: What about "Expressions?" (was Re: Icon Wish List)
Date: Thu, 15 Aug 2002 14:25:53 +0200
X-Complaints-To: abuse@hinet.hr
User-Agent: Pan/0.11.2 (Unix)
X-Comment-To: "Christopher Browne" <cbbrowne@acm.org>
To: icon-group@cs.arizona.edu
Errors-To: icon-group-errors@cs.arizona.edu
Status: RO
On Thu, 15 Aug 2002 02:16:33 +0200, Christopher Browne wrote:
> This is indeed an interesting question.
>
> It _may_ be that the notion of "expression-based" being referenced is
> that control structures work on the expression in a bit of a different
> way than in Algol-descended languages.
>
> But it's not clear.
>
> Terse is definitely a "hype-heavy, theory-light" language; in the
> absence of more documentation, it's not obvious what it's doing that is
> similar to Icon that _isn't_ similar to C or Modula-3.
>
> And I think the likelihood of Icon "launching" because of being regarded
> as a "more low level language" as being, um, rather remote. Terse hasn't
> been taking the world by storm any more than FORTH has.
>
> But I'd be curious as to what the definition of "Expressions" is
> supposed to be, in this context.
I must be careful here, lest someone from this group answers; " If
you can't speak English", how can you understand what an expression
is".
Anyway, I'm not very interested in theoretical definition of what an
expression means. The reaction was just to the statement that: The
only other computer language that I know of which uses expressions is
Terse (www.terse.com) an expression-based assembly language.
Now, I don't know terse (never heard of it), but I do know that Scheme
is an expression based language. Everything (except definition) is an
expression - even assignment is.
I guess that the important difference here is that most imperative
languages (except Icon) work with statements. Scheme and the rest of
FP languages work with expressions.
To quote an example from Graphics Programming in Icon; p9
In Pascal, the following line is a statement:
if switch = on then write("on") else write("off");
Icon is different in this regard. Icon has no statements, only expressions.
...
write(if switch = on then "on" else "off")
end quote.
Well, the same is true for Scheme (or Lisp, and other FP languages in general)